In an existing information processing apparatus having a basic input/output system (BIOS) program, after the power supply of the information processing apparatus is turned on, first, a central processing unit (CPU) executes a BIOS stored in a read-only memory (ROM) by using the ROM. The CPU initializes a device and a random access memory (RAM) by using the BIOS. Subsequently, the CPU executes the BIOS, thereby loads a BIOS program from the ROM into the memory (RAM), and performs a determination process for an auxiliary storage device used to boot an OS, for example, an initialization process of a device. Furthermore, by executing the BIOS program, the CPU thereby loads, into the memory, a bootstrap loader written in an MBR (master boot record) of the auxiliary storage device that boots up the OS. By executing the bootstrap loader program, the CPU thereby refers to partition information written in the MBR, loads a boot sector from a partition in which a boot flag is set, and proceeds to processing. By executing the BIOS, the CPU thereby loads an OS loader into the memory by using a program in the boot sector. Then, by executing the OS loader, the CPU thereby boots up the OS. Anti-virus software executed on the OS protects the MBR and a boot block, thereby blocking tampering by virus software.
In recent years, as opposed to this BIOS, a Unified Extensible Firmware Interface (UEFI) to which new functionality is added has been used. With UEFI, after a system boots up by turning on a power supply, a CPU executes the UEFI stored in a ROM by using the ROM. By executing the UEFI, the CPU thereby initializes a device and a memory, then loads a UEFI program from the ROM into the memory (RAM), and performs a process for booting up of an OS, for example, an initialization process for the device. By executing the UEFI the CPU thereby acquires location information of a boot manager written to a Non-Volatile RAM (NVRAM) when the OS boots. By executing the UEFI expanded in the ROM the CPU thereby loads, into the memory, the boot manager stored in an auxiliary storage device in accordance with the location information, and shifts control. By executing the boot manager the CPU thereby loads an OS loader into the memory, and proceeds to processing. Subsequently, by executing the OS loader the CPU thereby boots up the OS.
In the booting up performed by the UEFI, information in the NVRAM stored in the ROM is referred to, the boot manager is loaded into the memory (RAM), and then processing proceeds. Because there is no MBR, checking whether a file involved when the OS is loaded has been tampered with is desired to be performed in order to safely boot up the OS. However, because data in the NVRAM is not protected, the contents of the NVRAM also has to be checked. When information in the NVRAM used to boot up of the OS is tampered with by a malicious program, such as virus software, a tampered boot manager other than a normal boot manager may be readily executed. That is, because the tampered boot manager is executed before security software operates, a significant problem, such as incorporation of virus software or deletion of an important file, occurs. However, the user may not be able to notice the tampering because the user may not be able to check what state the boot information of the OS is in. In addition, when information used to boot is deleted, the UEFI is not able to load the boot manager and the OS is not able to be loaded.
As related art, Japanese Laid-open Patent Publication No. 10-333902 is known.